如何實現在callback中加入類的function;
比如一個界面的button,點擊之後,需要調用某個類的function;這個時候不論你是再這個class中直接加這個button,還是再UI的管理類裡面加這個button,然後加相關類的function作為callback都不行;因為this無法被正確識別;
如果處理這樣的情況呢?
中間再加一個一般的callback函數就可以了;
我以後者作為範例:UI管理類,功能類;
這裡我們加一個callback函數作為中轉的function就可以做到了;
比如:
定義:
Class UI{
add_button();
add_button_callback();
}
Class SomeClass
{
funcForButton();
}
實例化:
UI ui_instance;
SomeClass someClass_instance;
最後邦callback:
錯誤情況:
ui_instance.add_button_callback(someClass.funcFoButton);
正確做法:
step1:定義一個callback作為中轉站:
function tmp_callback()
{
someClass.funcForButton();
}
setp2:綁定callback;
ui_instance.add_button_callback(tmp_callback);